package com.how2java.springboot.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@TableName("bi_order_main")
public class OrderMainPO {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;                 // 自增主键
    private String soId;             // 订单编号(唯一)
    private String orderFrom;        // 订单来源
    private String shopSite;         // 店铺平台
    private String shopName;         // 店铺名称
    private Long shopId;             // 店铺ID
    private String type;             // 订单类型
    private String status;           // 订单状态
    private String receiverName;     // 收货人姓名
    private String receiverMobile;   // 收货人手机
    private String receiverState;    // 省份
    private String receiverCity;     // 城市
    private String receiverDistrict; // 区/县
    private String receiverAddress;  // 详细地址
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderDate;          // 下单时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payDate;            // 支付时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date sendDate;           // 发货时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modified;           // 最后修改时间
    private BigDecimal payAmount;    // 支付金额
    private BigDecimal paidAmount;   // 实付金额
    private BigDecimal freight;      // 运费
    private BigDecimal freeAmount;   // 优惠金额
    private String logisticsCompany; // 物流公司
    private String lid;              // 物流单号
    private String labels;           // 订单标签
    private String outerPayId;       // 外部支付ID
    private Double weight;           // 重量

    private List<OrderItemPO> items;   // 订单项（仍保留子表）
}